const express = require("express");

const app = express();

// 给express创建的app传入一个回调函数
// 传入的这个回调函数就称之为是中间件(middleware)
// app.post('/login', 回调函数 => {}) 这个函数函数就是中间件
//  中间件的三个参数 request对象 、response对象、next函数(执行下一个中间件的函数)

app.post("/login", (req, res , next) => {
    // 1.中间件中可以执行任意代码
    console.log("first middleware exec~");
    // 打印
    // 查询数据
    // 判断逻辑

    // 2.在中间件中修改req/res对象
    req.age = 99;

    // 3.可以在中间件中结束响应周期  如果不结束周期 那么客户端会一直发送请求不会停止 
    // res.end / res.json 都可以结束周期
    // res.json({ message: "登录成功, 欢迎回来", code: 0 })

    // 4.执行下一个中间件
    next();
});

// 第二个中间件  app.use  最基础的中间件方法
app.use((req, res, next) => {
    console.log("second middleware exec~");
    res.json({ message: "登录成功, 欢迎回来", code: 1 })
});


app.listen(9000, () => {
    console.log("express服务器启动成功~");
});
